#include "Samples.h"
#include "InsertionSort.h"
#include "SortUtility.h"
#include "ShellSort.h"
#include "SelectionSort.h"
#include "QuickSort.h"
#include "BubleSort.h"
#include "RadixSort.h"
#include "MergeSort.h"
#include "HeapSort.h"
#include <iostream>
#include "StringAlgorithm.h"
void testSort();
void TestForwardList();
#include "ListNode.h"
#include "TreeTest.h"



void main()
{
	//testSort();

	//char string1 [50];
	//char string2 [50];
	//while(true){
	//	std::cin>>string1;
	//	Assign(string1,string2);
	//	std::cout<<string2<<std::endl;
	//	

	//}

	TestForwardList();

	//TestTree();


	char a; std::cin>>a;
}



void testSort() {
	std::cout<<"Source"<<std::endl;
	PrintArray(array2);


    std::cout<<"InsertionSort"<<std::endl;
	ShellSort(array2insertion);	
	PrintArray(array2insertion);

	std::cout<<"ShellSort"<<std::endl;
	ShellSort(array2shell);	
	PrintArray(array2shell);

	std::cout<<"Selection"<<std::endl;
	SelectionSort(array2selection);
	PrintArray(array2selection);

	
	std::cout<<"QuickSort"<<std::endl;
	QuickSort(array2quick);
	PrintArray(array2quick);


	std::cout<<"BubleSort"<<std::endl;
	BubleSort(array2buble);
	PrintArray(array2buble);

	std::cout<<"HeapSort"<<std::endl;
	HeapSort(array2heap);
	PrintArray(array2heap);




}